package everyday;

import CommonStructure.ListNode;
import org.junit.jupiter.api.Test;

import java.util.*;

public class T1019 {
    public int[] nextLargerNodes(ListNode head) {
        ListNode tmp=head;
        List<Integer> list=new ArrayList<>();
        Map<Integer,Integer> map= new HashMap<>();
        ListNode tmp2=head;
        while (tmp2!=null){
            list.add(0);
            tmp2=tmp2.next;
        }
        int min=head.val;
        int index=0;
        while(tmp!=null){
            int value=tmp.val;
            if (value>min){
                Set<Integer> set=new HashSet<>(map.keySet());
                for(int key:set){
                    int v=map.get(key);
                    if (value>v){
                        list.set(key,value);
                        map.remove(key);
                    }
                }
            }
            min=value;
            map.put(index,value);
            index++;
            tmp=tmp.next;
        }
        return list.stream().mapToInt(i->i).toArray();
    }

}
